package com.lancoo.cvas.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 选课计划
 *
 * @author liufeng
 * @email 1037383243@qq.com
 * @date 2023-12-04 11:54:01
 */
@Data
@TableName("css_task_info")
@Accessors(chain = true)
@ApiModel("选课task")
public class CssTaskInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 选课计划id
     */
    @TableId(value = "css_task_id", type = IdType.AUTO)
    @ApiModelProperty("选课计划id")
    private Integer cssTaskId;
    /**
     * 任务id
     */
    @ApiModelProperty("任务id")
    private Integer taskId;
    /**
     * 选课计划名称
     */
    @ApiModelProperty("选课计划名称")
    private String cssTaskName;
    /**
     * 选课任务进度：
     * 0：未发布选课
     * 1：发布选课页面完成（发布完成）
     * 2：选课结果（选课结束）
     */
    @ApiModelProperty("选课任务进度")
    private Integer cssTaskStatus;
    /**
     * 1预选 2正式选课
     */
    @ApiModelProperty("1预选 2正式选课")
    private Integer type;
    /**
     * 选课轮次1正补退 2正退 3正补 4正
     */
    @ApiModelProperty("选课轮次1正补退")
    private Integer round;
    /**
     * 选课说明
     */
    @ApiModelProperty("选课说明")
    private String description;
    /**
     * 最低开班人数
     */
    @ApiModelProperty("最低开班人数")
    private Integer classNum;
    /**
     * 1开启重修学生选课 2不开启
     */
    @ApiModelProperty("1开启重修学生选课 2不开启")
    private Integer isRetake;
    /**
     * 主修学分上限
     */
    @ApiModelProperty("主修学分上限")
    private Double creditLimitMain;
    /**
     * 主修课程数上限
     */
    @ApiModelProperty("主修课程数上限")
    private Integer courseLimitMain;
    /**
     * 辅修学分上限
     */
    @ApiModelProperty("辅修学分上限")
    private Double creditLimitMinor;
    /**
     * 辅修课程数上限
     */
    @ApiModelProperty("辅修课程数上限")
    private Integer courseLimitMinor;
    /**
     * 1仅主修 2存在辅修
     */
    @ApiModelProperty("1仅主修 2存在辅修")
    private Integer onlyMajor;
    /**
     * 创建人id
     */
    @ApiModelProperty("创建人id")
    private String createdUserId;
    /**
     * 创建人名称
     */
    @ApiModelProperty("创建人名称")
    private String createdUserName;
    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createdTime;
    /**
     * 删除标识：
     * 0：未删除
     * 1：删除
     */
    @ApiModelProperty("删除标识")
    private Integer deleted;
    /**
     *
     */
    private String reserve;

}
